If any professional sports league draws little or no attention to contract details, it is the NHL. The league receives paltry coverage in the media and is generally regarded as the least popular of the major sports in the United States. Thus, poorly drawn up contracts, grossly overpaid and underpaid players, and dark horses generally fly under the radar to the casual fan. However, even a brief analysis of the data suggests that there is a significant discrepancy between the players that produce wins for their team, and those that are the most highly paid. Of course, there is the unquantifiable star power factor to consider, but for the purposes of winning games, NHL front offices appear to be off-base. In the spirit of the sabermetrics that revolutionized the MLB, and produced the Oscar-nominated picture, “MoneyBall”, this inquiry is an effort to develop an algorithm that more accurately reflects player value, than any existing metric. This metric is based off of data from the 2016-17 NHL Season.
Special thanks are owed to Professor Sean Carver, PhD, of American University, for providing guidance and his own knowledge of RStudio, which greatly contributed to this final product. Also providing invaluable assistance in this inquiry was Paul Jeffries, an American University student, and financial engineer at Fannie Mae. Statistics referenced were pulled from hockey-reference .com and salary data from sportrac. com.
For this data, a Goalie was defined as an NHL Goaltender who started at least 12 games in the 2016-17 season. Likewise, a Skater was defined as a Forward or Defenseman who played in at least one-fifth (16) of his team’s games in the 2016-17 season. This data, these tests, and the value estimations for these players only reflect that of the 2016-17 season.
Given that, in the NHL, different teams have various schemes, gameplans, line changes, and strategies in play, the most direct possible comparisons of player value come at the Goaltender position. A goalie is either going to allow a shot to go in, or he isn’t. Of course, being an NHL goaltender is much harder work than that simplification, but that is the essence of a goaltender’s duties. The relevant statistics considered to be expected to contribute to a goalie’s salary were Age, Win Percentage (WinPerc), Save Percentage (SV%), Goals Against per Game (GAA), Saves Per Game (SVPG), Shutout Percentage(SO%), and Quality Start Percentage (A quality start is a game in which a goalie has a save percentage higher than the league average, or one in which he saves 88.5% of shots, while also allowing fewer than 2 goals). Knowing logically that Save Percentage, Saves Per Game, and Goals Against Average would be cross-correlated, three separate multiple regressions were run.
As is evident by the data, the only metrics that ended up correlating with a Goalie’s salary were Age and Games Started. No other hockey statistic registered as significant. Win%, GAA, SV%, SVPG, and QS% all produced fairly large p-values. Results are shown below.
Call:
lm(formula = NHL_Goalies$Salary[Goalies] ~ NHL_Goalies$Age[Goalies] +
NHL_Goalies$GS[Goalies] + NHL_Goalies$WinPerc[Goalies] +
NHL_Goalies$`SV%`[Goalies] + NHL_Goalies$SOPerc[Goalies] +
NHL_Goalies$`QS%`[Goalies])
Residuals:
Min 1Q Median 3Q Max
-5.1260 -1.1892 -0.2215 0.8544 4.2820
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -30.85565 38.04793 -0.811 0.421011
NHL_Goalies$Age[Goalies] 0.32377 0.06821 4.746 1.61e-05 ***
NHL_Goalies$GS[Goalies] 0.05990 0.01463 4.094 0.000146 ***
NHL_Goalies$WinPerc[Goalies] -1.81413 3.26325 -0.556 0.580599
NHL_Goalies$`SV%`[Goalies] 26.04093 43.65053 0.597 0.553329
NHL_Goalies$SOPerc[Goalies] -4.78837 6.45051 -0.742 0.461169
NHL_Goalies$`QS%`[Goalies] 0.08664 4.67038 0.019 0.985269
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.888 on 53 degrees of freedom
Multiple R-squared: 0.502, Adjusted R-squared: 0.4457
F-statistic: 8.906 on 6 and 53 DF, p-value: 1.004e-06
Call:
lm(formula = NHL_Goalies$Salary[Goalies] ~ NHL_Goalies$Age[Goalies] +
NHL_Goalies$GS[Goalies] + NHL_Goalies$WinPerc[Goalies] +
NHL_Goalies$GAA[Goalies] + NHL_Goalies$SOPerc[Goalies] +
NHL_Goalies$`QS%`[Goalies])
Residuals:
Min 1Q Median 3Q Max
-5.1642 -1.1042 -0.2073 0.8998 4.2657
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -8.71021 6.51359 -1.337 0.187
NHL_Goalies$Age[Goalies] 0.31781 0.06774 4.691 1.95e-05 ***
NHL_Goalies$GS[Goalies] 0.06201 0.01465 4.232 9.23e-05 ***
NHL_Goalies$WinPerc[Goalies] -1.17768 3.61302 -0.326 0.746
NHL_Goalies$GAA[Goalies] 0.11718 1.39669 0.084 0.933
NHL_Goalies$SOPerc[Goalies] -4.63292 6.55639 -0.707 0.483
NHL_Goalies$`QS%`[Goalies] 2.12154 4.39130 0.483 0.631
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.895 on 53 degrees of freedom
Multiple R-squared: 0.4988, Adjusted R-squared: 0.442
F-statistic: 8.79 on 6 and 53 DF, p-value: 1.18e-06
Call:
lm(formula = NHL_Goalies$Salary[Goalies] ~ NHL_Goalies$Age[Goalies] +
NHL_Goalies$GS[Goalies] + NHL_Goalies$WinPerc[Goalies] +
NHL_Goalies$SVPG[Goalies] + NHL_Goalies$SOPerc[Goalies] +
NHL_Goalies$`QS%`[Goalies])
Residuals:
Min 1Q Median 3Q Max
-4.8796 -1.1307 -0.0663 0.8622 4.4509
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -10.33195 3.69967 -2.793 0.007256 **
NHL_Goalies$Age[Goalies] 0.32229 0.06761 4.767 1.5e-05 ***
NHL_Goalies$GS[Goalies] 0.05866 0.01483 3.955 0.000229 ***
NHL_Goalies$WinPerc[Goalies] -0.70869 3.25275 -0.218 0.828365
NHL_Goalies$SVPG[Goalies] 0.08273 0.10852 0.762 0.449256
NHL_Goalies$SOPerc[Goalies] -3.88732 6.52835 -0.595 0.554075
NHL_Goalies$`QS%`[Goalies] 1.24446 3.63624 0.342 0.733525
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.884 on 53 degrees of freedom
Multiple R-squared: 0.5041, Adjusted R-squared: 0.448
F-statistic: 8.981 on 6 and 53 DF, p-value: 9.045e-07
To test whether this is a reasonable, or effective, way to pay Goalies, a round of multiple regressions was run with Win Percentage as the dependent variable. This is to see if any hockey statistic can be statistically shown to have a significant correlation with wins. It will also show whether or not the significance levels were comparable to those for the salary regressions. Each statistic registered different significance levels. GAA had a p-value of about .0001, meaning there was just about a 99.99% chance that that statistic is significant for wins. SV% and SO% (in one of three tests) also registered statistically significant results. Full results are shown below.
Call:
lm(formula = NHL_Goalies$WinPerc[Goalies] ~ NHL_Goalies$Age[Goalies] +
NHL_Goalies$`SV%`[Goalies] + NHL_Goalies$SOPerc[Goalies] +
NHL_Goalies$`QS%`[Goalies])
Residuals:
Min 1Q Median 3Q Max
-0.16032 -0.04795 0.01205 0.05514 0.12193
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.849095 1.490201 -1.912 0.0611 .
NHL_Goalies$Age[Goalies] -0.002166 0.002760 -0.785 0.4359
NHL_Goalies$`SV%`[Goalies] 3.555366 1.699088 2.093 0.0410 *
NHL_Goalies$SOPerc[Goalies] 0.544368 0.256176 2.125 0.0381 *
NHL_Goalies$`QS%`[Goalies] 0.239639 0.189628 1.264 0.2117
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.07817 on 55 degrees of freedom
Multiple R-squared: 0.4327, Adjusted R-squared: 0.3914
F-statistic: 10.49 on 4 and 55 DF, p-value: 2.192e-06
Call:
lm(formula = NHL_Goalies$WinPerc[Goalies] ~ NHL_Goalies$Age[Goalies] +
NHL_Goalies$GAA[Goalies] + NHL_Goalies$SOPerc[Goalies] +
NHL_Goalies$`QS%`[Goalies])
Residuals:
Min 1Q Median 3Q Max
-0.168580 -0.042998 0.002643 0.041368 0.129589
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.004503 0.196581 5.110 4.18e-06 ***
NHL_Goalies$Age[Goalies] -0.002384 0.002475 -0.963 0.339720
NHL_Goalies$GAA[Goalies] -0.186200 0.044419 -4.192 0.000101 ***
NHL_Goalies$SOPerc[Goalies] 0.317316 0.239870 1.323 0.191353
NHL_Goalies$`QS%`[Goalies] 0.052197 0.163228 0.320 0.750348
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.0707 on 55 degrees of freedom
Multiple R-squared: 0.5358, Adjusted R-squared: 0.5021
F-statistic: 15.87 on 4 and 55 DF, p-value: 1.074e-08
Call:
lm(formula = NHL_Goalies$WinPerc[Goalies] ~ NHL_Goalies$Age[Goalies] +
NHL_Goalies$SVPG[Goalies] + NHL_Goalies$SOPerc[Goalies] +
NHL_Goalies$`QS%`[Goalies])
Residuals:
Min 1Q Median 3Q Max
-0.181978 -0.047541 0.003387 0.058399 0.153384
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.427356 0.141177 3.027 0.00375 **
NHL_Goalies$Age[Goalies] -0.003031 0.002775 -1.092 0.27950
NHL_Goalies$SVPG[Goalies] -0.006848 0.004300 -1.593 0.11699
NHL_Goalies$SOPerc[Goalies] 0.487890 0.267112 1.827 0.07320 .
NHL_Goalies$`QS%`[Goalies] 0.564920 0.132939 4.249 8.35e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 0.07941 on 55 degrees of freedom
Multiple R-squared: 0.4145, Adjusted R-squared: 0.3719
F-statistic: 9.735 on 4 and 55 DF, p-value: 5.014e-06
Some of the above results were striking, as GAA, SV%, and SO% registered significantly for Win%, but did not register as significant for salary data. This was a common finding, indicating that contribution to wins on the ice did not necessarily translate into a higher salary from the front office. The results from the Win% regressions led to the creation of an algorithm that could serve as an index to model how efficiently a Goalie contributes to his team winning. This model was generated by multiplying the z-score for each statistic (no. of standard deviations above the league average) by the average t-value for that same statistic (while maintaining the positive or negative nature of the correlation). That number was then adjusted to produce a mean score of zero across the index.
This index was named the “Jeffrickas Index” to combine my last name, with that of Paul Jeffries, whose contributions helped establish this inquiry. It is important to note that this Jeffrickas score indicates value not over the course of a Goalie’s entire career or of multiple seasons, but for only the 2016-17 season.
Here are the summary statistics of that index for Goalies:
Min. 1st Qu. Median Mean 3rd Qu. Max.
-6.3880 -2.4520 -0.5601 0.0000 2.2410 7.8290
When plotted, you can see that there is a definite positive correlation between a Goalie’s Jeffrickas score, and win percentage. The Jeffrickas Index for Goalies correlated 70.5% with a Goalie’s win percentage.
Having established an index for Goalies, and a general understanding of what statistics contribute to both salary and Win%, the same methodology was then applied to Skaters (non-goalies). However, due to the differing roles each position plays on the ice, the Skaters were divided into Forwards and Defensemen, each getting their own regression model and Jeffrickas Index.
As all of the statistics for Goalies were average or percentage based, skater data was converted to averages as well (Goals into Goals per Game, etc). After doing this, only Blocked Shots per Game (BPG) and Penalty Minutes per Game (PenPG) failed to register as significant in either test. Age was by far the most correlative, with results showing it is almost impossible to achieve the same level of correlation by chance (very low p-value).
The full results can be found below
Call:
lm(formula = NHL_Skaters$Salary[Forward] ~ NHL_Skaters$Age[Forward] +
NHL_Skaters$GP[Forward] + NHL_Skaters$SPG[Forward] + NHL_Skaters$APG[Forward] +
NHL_Skaters$PenPG[Forward] + NHL_Skaters$`S%`[Forward] +
NHL_Skaters$ATOI[Forward] + NHL_Skaters$BPG[Forward] + NHL_Skaters$HPG[Forward] +
NHL_Skaters$PlusMinusAdj[Forward])
Residuals:
Min 1Q Median 3Q Max
-5.0263 -0.8112 -0.0450 0.8194 4.7567
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -8.491831 0.574160 -14.790 < 2e-16
NHL_Skaters$Age[Forward] 0.192248 0.015923 12.073 < 2e-16
NHL_Skaters$GP[Forward] -0.012680 0.004725 -2.684 0.007563
NHL_Skaters$SPG[Forward] 0.658730 0.159804 4.122 4.51e-05
NHL_Skaters$APG[Forward] 2.872683 0.806467 3.562 0.000409
NHL_Skaters$PenPG[Forward] 0.102170 0.216049 0.473 0.636522
NHL_Skaters$`S%`[Forward] -0.026872 0.018967 -1.417 0.157271
NHL_Skaters$ATOI[Forward] 0.326666 0.049279 6.629 1.02e-10
NHL_Skaters$BPG[Forward] -0.072321 0.370345 -0.195 0.845267
NHL_Skaters$HPG[Forward] 0.345894 0.117586 2.942 0.003442
NHL_Skaters$PlusMinusAdj[Forward] -0.015328 0.009271 -1.653 0.098998
(Intercept) ***
NHL_Skaters$Age[Forward] ***
NHL_Skaters$GP[Forward] **
NHL_Skaters$SPG[Forward] ***
NHL_Skaters$APG[Forward] ***
NHL_Skaters$PenPG[Forward]
NHL_Skaters$`S%`[Forward]
NHL_Skaters$ATOI[Forward] ***
NHL_Skaters$BPG[Forward]
NHL_Skaters$HPG[Forward] **
NHL_Skaters$PlusMinusAdj[Forward] .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.444 on 429 degrees of freedom
Multiple R-squared: 0.6156, Adjusted R-squared: 0.6067
F-statistic: 68.71 on 10 and 429 DF, p-value: < 2.2e-16
Call:
lm(formula = NHL_Skaters$Salary[Forward] ~ NHL_Skaters$Age[Forward] +
NHL_Skaters$GP[Forward] + NHL_Skaters$GPG[Forward] + NHL_Skaters$APG[Forward] +
NHL_Skaters$PenPG[Forward] + NHL_Skaters$`S%`[Forward] +
NHL_Skaters$ATOI[Forward] + NHL_Skaters$BPG[Forward] + NHL_Skaters$HPG[Forward] +
NHL_Skaters$PlusMinusAdj[Forward])
Residuals:
Min 1Q Median 3Q Max
-4.7789 -0.7942 -0.0637 0.8269 4.8119
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.887608 0.610234 -12.926 < 2e-16
NHL_Skaters$Age[Forward] 0.190864 0.016002 11.928 < 2e-16
NHL_Skaters$GP[Forward] -0.011713 0.004738 -2.472 0.013809
NHL_Skaters$GPG[Forward] 4.528575 1.291434 3.507 0.000502
NHL_Skaters$APG[Forward] 2.857403 0.813830 3.511 0.000494
NHL_Skaters$PenPG[Forward] 0.048048 0.217599 0.221 0.825345
NHL_Skaters$`S%`[Forward] -0.096862 0.025691 -3.770 0.000186
NHL_Skaters$ATOI[Forward] 0.358104 0.047338 7.565 2.39e-13
NHL_Skaters$BPG[Forward] -0.182972 0.368682 -0.496 0.619946
NHL_Skaters$HPG[Forward] 0.356645 0.118102 3.020 0.002680
NHL_Skaters$PlusMinusAdj[Forward] -0.016852 0.009342 -1.804 0.071952
(Intercept) ***
NHL_Skaters$Age[Forward] ***
NHL_Skaters$GP[Forward] *
NHL_Skaters$GPG[Forward] ***
NHL_Skaters$APG[Forward] ***
NHL_Skaters$PenPG[Forward]
NHL_Skaters$`S%`[Forward] ***
NHL_Skaters$ATOI[Forward] ***
NHL_Skaters$BPG[Forward]
NHL_Skaters$HPG[Forward] **
NHL_Skaters$PlusMinusAdj[Forward] .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.452 on 429 degrees of freedom
Multiple R-squared: 0.6115, Adjusted R-squared: 0.6025
F-statistic: 67.53 on 10 and 429 DF, p-value: < 2.2e-16
Similar regressions were run, but this time the dependent variable was Team Points (in the standings), as Skaters do not have win-loss records like Goalies. In these tests, Blocks per game, Goals per game, Assists per game, and Shots per game registered as statistically significant in each test. Average Time on Ice (ATOI) also was significant, but in the negative direction. Adjusted Plus Minus (a player’s +/- in relation to his team’s average), and Shot Percentage (S%) gave fairly low, yet insignificant p-values.
Full results shown below:
Call:
lm(formula = NHL_Skaters$TmPoints[Forward] ~ NHL_Skaters$Age[Forward] +
NHL_Skaters$GP[Forward] + NHL_Skaters$APG[Forward] + NHL_Skaters$PenPG[Forward] +
NHL_Skaters$SPG[Forward] + NHL_Skaters$`S%`[Forward] + NHL_Skaters$ATOI[Forward] +
NHL_Skaters$BPG[Forward] + NHL_Skaters$HPG[Forward] + NHL_Skaters$PlusMinusAdj[Forward])
Residuals:
Min 1Q Median 3Q Max
-38.915 -8.114 1.142 9.595 30.150
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 99.54656 5.08861 19.563 < 2e-16 ***
NHL_Skaters$Age[Forward] 0.16153 0.14112 1.145 0.25301
NHL_Skaters$GP[Forward] 0.06881 0.04188 1.643 0.10106
NHL_Skaters$APG[Forward] 50.35183 7.14747 7.045 7.44e-12 ***
NHL_Skaters$PenPG[Forward] -3.02678 1.91477 -1.581 0.11467
NHL_Skaters$SPG[Forward] 4.05552 1.41630 2.863 0.00440 **
NHL_Skaters$`S%`[Forward] 0.95034 0.16810 5.653 2.87e-08 ***
NHL_Skaters$ATOI[Forward] -3.58261 0.43674 -8.203 2.75e-15 ***
NHL_Skaters$BPG[Forward] 12.61205 3.28226 3.842 0.00014 ***
NHL_Skaters$HPG[Forward] 1.79195 1.04213 1.720 0.08624 .
NHL_Skaters$PlusMinusAdj[Forward] 0.12124 0.08217 1.476 0.14080
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 12.8 on 429 degrees of freedom
Multiple R-squared: 0.2203, Adjusted R-squared: 0.2022
F-statistic: 12.12 on 10 and 429 DF, p-value: < 2.2e-16
Call:
lm(formula = NHL_Skaters$TmPoints[Forward] ~ NHL_Skaters$Age[Forward] +
NHL_Skaters$GP[Forward] + NHL_Skaters$APG[Forward] + NHL_Skaters$PenPG[Forward] +
NHL_Skaters$GPG[Forward] + NHL_Skaters$`S%`[Forward] + NHL_Skaters$ATOI[Forward] +
NHL_Skaters$BPG[Forward] + NHL_Skaters$HPG[Forward] + NHL_Skaters$PlusMinusAdj[Forward])
Residuals:
Min 1Q Median 3Q Max
-38.920 -8.294 1.275 9.653 30.141
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 104.27661 5.37386 19.404 < 2e-16
NHL_Skaters$Age[Forward] 0.16311 0.14092 1.157 0.247716
NHL_Skaters$GP[Forward] 0.07390 0.04172 1.771 0.077239
NHL_Skaters$APG[Forward] 49.62244 7.16677 6.924 1.61e-11
NHL_Skaters$PenPG[Forward] -3.42775 1.91623 -1.789 0.074353
NHL_Skaters$GPG[Forward] 34.42311 11.37267 3.027 0.002620
NHL_Skaters$`S%`[Forward] 0.43149 0.22624 1.907 0.057163
NHL_Skaters$ATOI[Forward] -3.48973 0.41687 -8.371 8.15e-16
NHL_Skaters$BPG[Forward] 12.31934 3.24670 3.794 0.000169
NHL_Skaters$HPG[Forward] 1.81981 1.04003 1.750 0.080875
NHL_Skaters$PlusMinusAdj[Forward] 0.10848 0.08227 1.319 0.187999
(Intercept) ***
NHL_Skaters$Age[Forward]
NHL_Skaters$GP[Forward] .
NHL_Skaters$APG[Forward] ***
NHL_Skaters$PenPG[Forward] .
NHL_Skaters$GPG[Forward] **
NHL_Skaters$`S%`[Forward] .
NHL_Skaters$ATOI[Forward] ***
NHL_Skaters$BPG[Forward] ***
NHL_Skaters$HPG[Forward] .
NHL_Skaters$PlusMinusAdj[Forward]
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 12.79 on 429 degrees of freedom
Multiple R-squared: 0.222, Adjusted R-squared: 0.2039
F-statistic: 12.24 on 10 and 429 DF, p-value: < 2.2e-16
Using the same algorithm as was used for Goalies, Forwards were assigned their own Jeffrickas score (with the mean again adjusted to be zero). This index correlated far less directly with Team Wins (points in the standings) as did the goalie index, as team points is a measure of team performance, whereas, Jeffrickas is a measure of individual performance based on the statistics that correlate most closely with team points.
Again, it is important to note that this only reflects value for this season, and not over the course of multiple seasons.
The summary statistics for Forwards’ Jeffrickas and the graph of its correlation with Salary are shown below.
Min. 1st Qu. Median Mean 3rd Qu. Max.
-30.170 -10.530 -1.516 0.000 10.390 38.740
When tests were run for Defenders, with relation to salary, only Age, Goals per Game (GPG), Shot Percentage (S%) and Average Time on Ice (ATOI) came back as statistically significant.The full results are displayed below:
Call:
lm(formula = NHL_Skaters$Salary[Defender] ~ NHL_Skaters$Age[Defender] +
NHL_Skaters$GP[Defender] + NHL_Skaters$SPG[Defender] + NHL_Skaters$APG[Defender] +
NHL_Skaters$PenPG[Defender] + NHL_Skaters$`S%`[Defender] +
NHL_Skaters$ATOI[Defender] + NHL_Skaters$BPG[Defender] +
NHL_Skaters$HPG[Defender] + NHL_Skaters$PlusMinusAdj[Defender])
Residuals:
Min 1Q Median 3Q Max
-3.1401 -0.8023 -0.0334 0.8349 4.0228
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -9.461954 0.697483 -13.566 < 2e-16
NHL_Skaters$Age[Defender] 0.192675 0.020513 9.393 < 2e-16
NHL_Skaters$GP[Defender] -0.005009 0.005579 -0.898 0.3703
NHL_Skaters$SPG[Defender] 0.384458 0.219282 1.753 0.0809
NHL_Skaters$APG[Defender] 1.140857 0.950254 1.201 0.2312
NHL_Skaters$PenPG[Defender] -0.025635 0.311177 -0.082 0.9344
NHL_Skaters$`S%`[Defender] -0.019140 0.030188 -0.634 0.5267
NHL_Skaters$ATOI[Defender] 0.327996 0.045394 7.226 7.75e-12
NHL_Skaters$BPG[Defender] 0.163182 0.215854 0.756 0.4505
NHL_Skaters$HPG[Defender] 0.076222 0.136610 0.558 0.5774
NHL_Skaters$PlusMinusAdj[Defender] -0.015219 0.008783 -1.733 0.0845
(Intercept) ***
NHL_Skaters$Age[Defender] ***
NHL_Skaters$GP[Defender]
NHL_Skaters$SPG[Defender] .
NHL_Skaters$APG[Defender]
NHL_Skaters$PenPG[Defender]
NHL_Skaters$`S%`[Defender]
NHL_Skaters$ATOI[Defender] ***
NHL_Skaters$BPG[Defender]
NHL_Skaters$HPG[Defender]
NHL_Skaters$PlusMinusAdj[Defender] .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.236 on 224 degrees of freedom
Multiple R-squared: 0.6536, Adjusted R-squared: 0.6381
F-statistic: 42.26 on 10 and 224 DF, p-value: < 2.2e-16
Call:
lm(formula = NHL_Skaters$Salary[Defender] ~ NHL_Skaters$Age[Defender] +
NHL_Skaters$GP[Defender] + NHL_Skaters$GPG[Defender] + NHL_Skaters$APG[Defender] +
NHL_Skaters$PenPG[Defender] + NHL_Skaters$`S%`[Defender] +
NHL_Skaters$ATOI[Defender] + NHL_Skaters$BPG[Defender] +
NHL_Skaters$HPG[Defender] + NHL_Skaters$PlusMinusAdj[Defender])
Residuals:
Min 1Q Median 3Q Max
-3.1097 -0.7944 -0.0100 0.7949 3.9010
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -8.917205 0.716243 -12.450 < 2e-16
NHL_Skaters$Age[Defender] 0.192221 0.020107 9.560 < 2e-16
NHL_Skaters$GP[Defender] -0.004883 0.005540 -0.882 0.3790
NHL_Skaters$GPG[Defender] 8.089992 3.248114 2.491 0.0135
NHL_Skaters$APG[Defender] 0.982251 0.922702 1.065 0.2882
NHL_Skaters$PenPG[Defender] -0.083301 0.309884 -0.269 0.7883
NHL_Skaters$`S%`[Defender] -0.112578 0.047329 -2.379 0.0182
NHL_Skaters$ATOI[Defender] 0.323360 0.043769 7.388 2.92e-12
NHL_Skaters$BPG[Defender] 0.177502 0.213859 0.830 0.4074
NHL_Skaters$HPG[Defender] 0.090756 0.135633 0.669 0.5041
NHL_Skaters$PlusMinusAdj[Defender] -0.017054 0.008730 -1.953 0.0520
(Intercept) ***
NHL_Skaters$Age[Defender] ***
NHL_Skaters$GP[Defender]
NHL_Skaters$GPG[Defender] *
NHL_Skaters$APG[Defender]
NHL_Skaters$PenPG[Defender]
NHL_Skaters$`S%`[Defender] *
NHL_Skaters$ATOI[Defender] ***
NHL_Skaters$BPG[Defender]
NHL_Skaters$HPG[Defender]
NHL_Skaters$PlusMinusAdj[Defender] .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.228 on 224 degrees of freedom
Multiple R-squared: 0.6583, Adjusted R-squared: 0.643
F-statistic: 43.15 on 10 and 224 DF, p-value: < 2.2e-16
In running the regression tests for defenders as it relates to Team Points, Adjusted Plus Minus, Assists per Game (APG), and Average Time on Ice (ATOI) registered statistically significant results in both tests. Shot Percentage (S%) registered significantly in only one of two tests.
Full results are shown below:
Call:
lm(formula = NHL_Skaters$TmPoints[Defender] ~ NHL_Skaters$Age[Defender] +
NHL_Skaters$GP[Defender] + NHL_Skaters$SPG[Defender] + NHL_Skaters$APG[Defender] +
NHL_Skaters$PenPG[Defender] + NHL_Skaters$`S%`[Defender] +
NHL_Skaters$ATOI[Defender] + NHL_Skaters$BPG[Defender] +
NHL_Skaters$HPG[Defender] + NHL_Skaters$PlusMinusAdj[Defender])
Residuals:
Min 1Q Median 3Q Max
-44.604 -9.574 1.466 9.865 27.274
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 95.92907 7.89683 12.148 < 2e-16
NHL_Skaters$Age[Defender] 0.15800 0.23225 0.680 0.49701
NHL_Skaters$GP[Defender] 0.09516 0.06316 1.507 0.13332
NHL_Skaters$SPG[Defender] 1.11221 2.48269 0.448 0.65460
NHL_Skaters$APG[Defender] 30.29957 10.75869 2.816 0.00529
NHL_Skaters$PenPG[Defender] -2.81450 3.52311 -0.799 0.42521
NHL_Skaters$`S%`[Defender] 0.75250 0.34179 2.202 0.02871
NHL_Skaters$ATOI[Defender] -1.63292 0.51395 -3.177 0.00170
NHL_Skaters$BPG[Defender] 3.79311 2.44388 1.552 0.12205
NHL_Skaters$HPG[Defender] 0.10681 1.54668 0.069 0.94501
NHL_Skaters$PlusMinusAdj[Defender] 0.29091 0.09944 2.925 0.00379
(Intercept) ***
NHL_Skaters$Age[Defender]
NHL_Skaters$GP[Defender]
NHL_Skaters$SPG[Defender]
NHL_Skaters$APG[Defender] **
NHL_Skaters$PenPG[Defender]
NHL_Skaters$`S%`[Defender] *
NHL_Skaters$ATOI[Defender] **
NHL_Skaters$BPG[Defender]
NHL_Skaters$HPG[Defender]
NHL_Skaters$PlusMinusAdj[Defender] **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 14 on 224 degrees of freedom
Multiple R-squared: 0.1438, Adjusted R-squared: 0.1056
F-statistic: 3.762 on 10 and 224 DF, p-value: 0.0001074
Call:
lm(formula = NHL_Skaters$TmPoints[Defender] ~ NHL_Skaters$Age[Defender] +
NHL_Skaters$GP[Defender] + NHL_Skaters$GPG[Defender] + NHL_Skaters$APG[Defender] +
NHL_Skaters$PenPG[Defender] + NHL_Skaters$`S%`[Defender] +
NHL_Skaters$ATOI[Defender] + NHL_Skaters$BPG[Defender] +
NHL_Skaters$HPG[Defender] + NHL_Skaters$PlusMinusAdj[Defender])
Residuals:
Min 1Q Median 3Q Max
-44.304 -9.364 1.633 9.514 26.611
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 95.74589 8.16791 11.722 < 2e-16
NHL_Skaters$Age[Defender] 0.12907 0.22930 0.563 0.57407
NHL_Skaters$GP[Defender] 0.09339 0.06317 1.478 0.14073
NHL_Skaters$GPG[Defender] -7.09605 37.04093 -0.192 0.84825
NHL_Skaters$APG[Defender] 33.09792 10.52233 3.145 0.00188
NHL_Skaters$PenPG[Defender] -2.76844 3.53386 -0.783 0.43422
NHL_Skaters$`S%`[Defender] 0.82626 0.53973 1.531 0.12721
NHL_Skaters$ATOI[Defender] -1.50623 0.49914 -3.018 0.00284
NHL_Skaters$BPG[Defender] 3.56530 2.43881 1.462 0.14517
NHL_Skaters$HPG[Defender] 0.12355 1.54673 0.080 0.93641
NHL_Skaters$PlusMinusAdj[Defender] 0.29019 0.09956 2.915 0.00392
(Intercept) ***
NHL_Skaters$Age[Defender]
NHL_Skaters$GP[Defender]
NHL_Skaters$GPG[Defender]
NHL_Skaters$APG[Defender] **
NHL_Skaters$PenPG[Defender]
NHL_Skaters$`S%`[Defender]
NHL_Skaters$ATOI[Defender] **
NHL_Skaters$BPG[Defender]
NHL_Skaters$HPG[Defender]
NHL_Skaters$PlusMinusAdj[Defender] **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 14 on 224 degrees of freedom
Multiple R-squared: 0.1432, Adjusted R-squared: 0.1049
F-statistic: 3.742 on 10 and 224 DF, p-value: 0.0001147
Using the same algorithm as was used for Goalies and Forwards, Defenders were assigned their own Jeffrickas score (with the mean again adjusted to be zero). Again, this index correlated less directly with Team Points for much the same reasons as stated above for forwards.
Again, it is important to note that this only reflects value compared to salary for the 2016-17 season, and not over the course of multiple seasons.
The summary statistics for Defenders’ Jeffrickas and the graph of its correlation with Salary are shown below.
Min. 1st Qu. Median Mean 3rd Qu. Max.
-11.7200 -4.2570 -0.9222 0.0000 3.6780 17.3000
Having taken all of this into consideration, and having established a metric to measure player value, we want to see who the most valuable players in the NHL were for the 2016-17 season, and see if that generally aligns with popular opinion, and then measure Jeffrickas scores against salary to see who most overperforms, and who most underperforms, given what they are paid.
Connor McDavid Scored as the Most Valuable Forward in the NHL for 2016-17
For all Jeffrickas indeces, the mean is zero. For Forwards, the standard deviation of the index was 13.21. According the Jeffrickas Index for Skaters, the player with the most pure value (without taking salary into consideration) for the 2016-17 NHL Season was Connor McDavid, the 20-year-old Center for the Edmonton Oilers. He registered the Jeffrickas score of 38.74. The Jeffrickas Index for Forwards places a premium on assists per game, with it being the most heavily weighted factor. McDavid led the league in assists with 70.
McDavid’s Jeffrickas score was narrowly 0.03 points higher than the second-best forward, Sidney Crosby, of the Pittsburgh Penguins, who scored a 38.71. Coming in third, with a score of 33.41, was Nikita Kucherov, a Right Winger for the Tampa Bay Lightning.
For Defensemen, the standard deviation of their index was approximately 6. According to that Index, most valuable Defenseman in the league was Erik Karlsson of the Ottawa Senators. Karlsson posted a Jeffrickas score of 17.30. Karlsson was closely followed in second by Brent Burns of the San Jose Sharks, who scored 16.77 (less than one-tenth of a standard deviation behind). Coming in third was Jared Spurgeon of the Minnesota Wild with a score of 14.43.
Erik Karlsson of the Ottawa Senators
Goalies produced very interesting results. The standard deviation for the Goalies index was 3.28, with the maximum score being a 7.83. That high score belongs to Philipp Grubauer, the backup Goalie for the Washington Capitals. Grubauer posted a winning percentage just north of 68.4%, the highest among qualifying Goalies. He also allowed just 2.05 Goals per Game, the second lowest in the league. He shutout opponents in over 15% of his starts.
Coming in second place, a half standard deviation behind Grubauer at 6.26, is the man who starts ahead of Grubauer in Washington, Braden Holtby.
The Capitals have an embarassment of riches at the Goalie position
Holtby allowed only 2.07 goals per game, just a hair more than Grubauer. Holtby posted a season long save percentage of 92.5%, compared with Grubauer’s 92.6%. Holtby won 2 out of every 3 of his starts in the 2016-17 season. While it is altogether possible that Grubauer’s incredible numbers would have dissipated if given a full workload, for the 2016-17 season, when he was on the ice, he was the best in the league.
Anti Raanta of the New York Rangers
Coming third in the rankings with a score of 6.07, was yet another backup, Anti Raanta of the New York Rangers. Raanta backs up the man widely believed to be the best Goalie in the league, Henrik Lundqvist. However, Lundqvist has underperformed this year, registering a -2.90 on the Jeffrickas scale. Raanta, in his time, stepped up to post a save percentage of 92.2% and allow only 2.26 goals per game (compared with Lundqvist’s 2.74). While Lundqvist may remain in the conversation for best in the game, this year he was significantly outshown.
The results for Goalie suggest two things. The first is that there are quite a few teams who are not starting their most effective Goalie. Given that both the Rangers and Capitals are in the midst of the Stanley Cup chase, it might be worthwhile for them to consider looking to their backups if they get into a rough situation. Second, for any team needing a Goalie this offseason, their best bet might be to look to other teams’ backups to try and acquire solid, overlooked talent at a cheap price.
Now that we have a standard metric to gauge player value, and all salary data for these players, we can run tests and equations to see who are the most overpaid and underpaid players in the NHL. The first step is to find the average (mean) salary for players at each of the three designated positions and the standard deviation of those salaries. After that, we do the same for the Jeffrickas scores at those positions. Then we find each player’s z-score (Player’s value/salary, minus the mean, divided by the standard deviation) for both salary and Jeffrickas. Then, to determine whether a player is overpaid or underpaid, we subtract the player’s z-score for salary from his z-score for Jeffrickas.
For example, in the graph above, you’ll see the Jeffrickas z-scores for all Forwards plotted on the horizontal axis, and their salary z-scores on the vertical axis. The mean salary for a Forward is $2.56 million, and the standard deviation for salary is 2.3 (in millions). The mean Jeffrickas for a Forward (as for all positions) is zero, with a standard deviation of 13.22. A point above the line indicates a player who is overpaid and thus underperformed (higher salary z-score), and a point under the line indicates a player who is underpaid and thus overperformed (higher Jeffrickas z-score).
For Defenders, the mean salary is 2.62 million, while the standard deviation is 2.05 (in millions). The mean Jeffrickas is zero, while the standard deviation is 6.00. The same rules apply to the graph below with regards to a player’s proximity to the line.
For Goalies, the mean salary is $3.39 million, with a standard deviation of 2.54 (in millions). The mean Jeffrickas score is again zero, and the standard deviation is 3.28. That graph is displayed below.
Using this methodolgy, to no surprise, McDavid emerges as the most underpaid Forward in the league. His Jeffrickas is the highest in the league amongst Forwards. With a Jeffrickas at his level, he should be paid a little under 9 million per year. However, he only received a salary of 832,500 this year. This isn’t too shocking, as he is an incredibly young player. Nevertheless, the Oilers are getting an incredible deal during the length of McDavid’s current contract.
The Oilers are gaining incredible value from their two young forwards
Beyond that, David Pastrnak, of the Boston Bruins, came in second, being undercut by a little under 6 million dollars given his value. Leon Draisaitl, a teammate of McDavid’s in Edmonton, came in third, having been paid the same 832,500, but having deserved about 6 million.
The top ten most underpaid Forwards are listed below, in order of how much they were underpaid:
Connor McDavid (C, Edmonton Oilers), David Pastrnak (RW, Boston Bruins), Leon Draisaitl (C, Edmonton Oilers), Conor Sheary (LW, Pittsburgh Penguins), Jack Eichel (C, Buffalo Sabres), Artemi Panarin (LW, Chicago Blackhawks), Patrik Laine (RW, Winnipeg Jets), Auston Matthews (C, Toronto Maple Leafs), Viktor Arvidsson (LW, Nashville Predators), Jake Guentzel (C, Pittsburgh Penguins).
On the other side, however, there is quite a bit of surprise. The most overpaid player, according to the data (with the exception of Ryan Callahan, who missed most of the season with injury) was Anze Kopitar, of the Los Angeles Kings. Kopitar is a three-time all star, and a two-time Stanley Cup champion. His Jeffrickas score was only about one standard deviation above the mean, whereas his salary of 10 million dollars a year was among the highest in the league. The model indicates he was only worth about 5 million or so this year.
Toews (left) and Kopitar (right) are among the NHL stars who didn’t live up to their salaries this year
Jonathan Toews, a former MVP and 2016-17 All Star selection, came in as the second most overpaid player. He got paid a lofty 10.5 million dollars this year, whereas his Jeffrickas score suggests he only about 6 million. He definitely has value, and sits among the top of the league. However, the Blackhawks are shelling out far too much cash for what they’re getting at this point. Below are the top ten most overpaid in the NHL, in order of how much they’re overpaid:
Anze Kopitar (C, Los Angeles Kings), Jonathan Toews (C, Chicago Blackhawks), Carl Soderberg (C, Colorado Avalanche), Claude Giroux (C, Philadelphia Flyers), Tomas Plekanec (C, Montreal Canadiens), Zach Parise (LW, Minnesota Wild), Anton Blidh (LW, Boston Bruins), Bobby Ryan (RW, Ottawa Senators), Marian Gaborik (RW, Los Angeles Kings), Loui Eriksson (LW, Vancouver Canucks).
On the defensive end, the most underpaid Defenseman is Jaccob Slavin of the Carolina Hurricanes. Slavin finished 13th amongst all defenders with 161 blocks in the 2016-17 season. Also of note is that Slavin finished the year with a +/- of 23, despite the Carolina team average being -4.29. Slavin’s Jeffrickas shows he was worth about 7 million dollars this season, but was only paid $832,500. This is not entirely shocking, as Slavin is only 22.
Following Slavin is Justin Schultz of the Pittsburgh Penguins. Schultz finished with a lofty +/- of 27, and scored 51 points, significantly above average for Defenders. While Schultz got paid 1.4 million this season, he was actually worth about 7.5 million.
Veteran Dennis Seidenberg far outplayed his value this season
The man who finished third produces quite an interesting narrative, however. Almost all of the players who rated as severely underpaid (for both Forwards and Defensemen) were very young players who had a breakout year, or whose salaries were restricted by the rookie maximum imposed by the NHL Collective Bargaining Agreement. However, the 35 year old Dennis Seidenberg of the New York Islanders rates as the third most underpaid Defensman. Seidenberg is in his 15th season, playing for his 6th NHL team. Despite this, Seidenberg is only paid 1 million dollars per season. Conversely, he finished over 2 standard deviations above the mean in the Jeffrickas index. This indicates he should have been paid just under 6 million. Seidenberg remained physical, lodging a large number of blocked shots and hits, and a high +/- of 25. He is producing at quite a high level in the twilight of his career.
Rounding out the top 5 most underpaid Defensemen are Brett Pesce of the Carolina Hurricanes, and Zach Werenski of the Columbus Blue Jackets.
On the other hand, there are defenders like the Buffalo Sabres’ Dmitry Kulikov. Kulikov got paid a cool 4.5 million this season, despite only posting a grand total of 5 points in 47 games. He average less than one shot per game. His Jeffrickas is so low, it actually indicates he should have to pay the Sabres to play for them. He was worth negative money this season.
Finishing just behind Kulikov in the race to be the most egregiously overpaid Defenseman is the highest paid defender in the league, PK Subban of the Nashville Predators. According to the Jeffrickas index, Subban was only very marginally above average for a Defender. Despite this, he gets paid a hefty 9 million dollars. His play this season, however, was only worth about 3.3 million.
Travis Hamonic, of the New York Islanders, Zach Bogosian, of the Buffalo Sabres, and Oliver Ekman-Larsson, of the Arizona Coyotes, complete the top 5 most overpaid Defensemen.
PK Subban did not nearly live up to his title of highest paid Defenseman
Goalies are a completely different animal altogether. As you can see in the graph below, a Goalie’s salary does not appear to be, in any way, related to his value in the Jeffrickas index. In the same way, in the earlier graph, many Goalies fell far off the line that shows expected salary. The way NHL Goalies are paid, at least for this season, makes very little sense.
Of the 60 Goalies who factored into this analysis, 15 of them were overpaid or underpaid by over 5 million dollars. Regardless of whether or not you think the Jeffrickas index is a reliable metric for player value, it cannot be denied that the NHL is pretty poor at gauging the monetary value of their Goalies.
The most overpaid Goalie, by quite a wide margin, is Henrik Lundqvist, of the New York Rangers. Lundqvist, at probably any other point in his career, would score very well on this index. However, this year, he had a very subpar season combined with the highest salary amongst Goalies. He allowed 2.74 goals per game, and only had two shutouts. Getting paid 9.5 million, Lundqvist’s season was only worth 1.15 million.
Henrik Lundqvist was the “King” of getting overpaid this NHL season
Following Lundqvist, albeit by a wide margin, is Semyon Varlamov, of the Colorado Avalanche, who was paid 6 million despite posting an abysmal 3.38 goals per game average and a sub-90% save percentage. In third, came NHL veteran, Roberto Luongo, of the Florida Panthers. His season was worth just a little less than half a million dollars, while he was paid over 6.7 million.
Among the other Goaltenders who were badly overpaid are Mike Smith (Arizona Coyotes), Marc-Andre Fleury (Pittsburgh Penguins), Antti Niemi (Dallas Stars), and Ryan Miller (Vancouver Canucks).
It was already well-established that two of the three best Goalies in the league are backups (Philip Grubauer and Anti Raanta). Naturally, those two are the most underpaid goalies in the league. Grubauer’s season was worth about 9.4 million dollars, but he was only paid a lowly 832,500. Raanta was worth just a hair over 8 million while being paid just 1 million.
Backup Goalies were certainly not done beyond these two, though. The next two Goalies on the underpaid scale are also backups. Carter Hutton of the St. Louis Blues posted a respectable 2.39 Goals Against Average and a 91.3% save percentage. However, where Hutton made his mark was in shutouts. Hutton had shutouts in an incredible 19% of his starts. All in all, Hutton was worth 7.8 million, and was only paid 1.25 million.
Sharks backup, Aaron Dell, had quite possibly the best season of any NHL Goalie
Aaron Dell, the backup for the San Jose Sharks, quietly had himself an incredible season. He posted a league low in goals per game with a flat 2.00. Not only that, he had a league high save percentage of 93.1%. He had a quality start in 70.6% of his starts, also a league high. Dell’s mind-blowing season was worth just under 7 million dollars. However, he was paid a league low for Goalies with only 575,000 dollars in salary this season.
Below are the rest of the most underpaid Goalies in the NHL this season. Of them, Budaj and Condon are also backups.
John Gibson (Anaheim Ducks), Peter Budaj (Tampa Bay Lightning), Mike Condon (Ottawa Senators), Matthew Murray (Pittsburgh Penguins).
Below are two plots to show how well each statistic correlates with each other statistic. A darker, larger bubble indicates higher correlation, whereas a smaller, lighter one indicates low correlation.
As with any sport, there are always going to be players who overperform, and those who underperform. However, the data shows that there are definitive discrepancies, and clear ways that teams can maximize their money to build the best, most efficient team possible. The first possible way, is to invest in youth. The data overwhelmingly shows that the most underpaid players are generally young players. A team could throw money comprable to the league minimum at young players in hopes of striking it rich. Data shows they will at least get a decent return on their investment. The second would be to find, and invest in a long-term journeyman, like Dennis Seidenberg. He won’t be the most dominant player, but he would give consistently above average production over a long career.
For Goalies, whose salary, at times, seemed to make absolutely no sense, the answer is clear. Backups generally produce way more value in net. Teams in search of a decent Goalie are far better suited pursuing a current backup (or, in more than a few cases, turning to their own), who they could acquire cheaply and get solid production out of. Another solution for teams in Goalie trouble would be to institute a more equitable timeshare between their Goalies. For example, a split tandem of Philip Grubauer and Aaron Dell would have produced great value this year, and would have only cost 1.4 million. Sergei Bobrovsky, of the Columbus Blue Jackets, was brilliant this year, but his value and efficiency across an entire season does not equal that of more that of a well-put-together combination of former backups. Either of these systems would be far more effective in solving goaltending woes than throwing Henrik Lundqvist-type money at a Goalie. As we saw this year, it doesn’t always work out as well as a team might hope.
Freeing up money by investing in young players, and Goalie timeshares would make a team more effective, and would free up a lot of salary room to allow a team to comfortably take a chance on one or two star players in the mold of Sidney Crosby or Alex Ovechkin. A solid statistical analysis could be the front office’s guide to producing a ridiculously efficient super-team.